/*
 * GeometryBase
 * 
 * initial implementation : 2.11.2001
 *
 * Copyright (c) Adam Sida, asida@centrum.cz.
 * All rights reserved.
 * 
 * for license see Petra.Gis.License.txt
 */
using System;
using Petra.Gis.Geometry.Support;


namespace Petra.Gis.Geometry
{
  /// <summary>
  /// abstract base of all geometries
  /// defines mandatory functionality for each geometry
  /// </summary>
  public abstract class GeometryBase
  {

    protected bool _valid = false;
    protected bool _isEmpty = true;
    protected BoundingBox _envelope;



    public GeometryBase()
    {
    }



    public bool IsEmpty
    {
        get{return _isEmpty;}
    }




    /*public short Dimension
    {
      get { return oCoordinateList.dimension; }
    }*/




    public bool Valid
    {
      get { return _valid; }
    }




    public BoundingBox BoundingBox
    {
      get { return getEnvelope(); }
    }



    //internal abstract double[] getEnvelope();
    internal abstract BoundingBox getEnvelope();

  }

}
